The results from each machine are summarized in aaaassssccccmmmmddddrrrrsssslllltttt____tttt structures,
and a list of these structures, bundled together into an aaaassssccccmmmmddddrrrrssssllllttttlllliiiisssstttt____tttt
structure, is returned by _a_s_c_o_m_m_a_n_d.
Both aaaassssccccmmmmddddrrrrsssslllltttt____tttt and aaaassssccccmmmmddddrrrrssssllllttttlllliiiisssstttt____tttt are defined in <arraysvcs.h>. The
storage for both structures is allocated using _m_a_l_l_o_c(3) and can be
released using aaaassssffffrrrreeeeeeeeccccmmmmddddrrrrssssllllttttlllliiiisssstttt(3X). An aaaassssccccmmmmddddrrrrsssslllltttt____tttt structure looks
similar to this:
typedef struct ascmdrslt {
char *machine;
ash_t ash;
uint32_t flags;
aserror_t error;
int status;
char *outfile;
/* These fields only valid if ASCMDRSLT_INTERACTIVE set */
uint32_t ioflags;
int stdinfd;
int stdoutfd;
int stderrfd;
int signalfd;
} ascmdrslt_t;
The mmmmaaaacccchhhhiiiinnnneeee member contains the name of the machine that generated this
particular response. This is typically the network hostname of that
machine, although the system administrator can override that value with a
LOCAL HOSTNAME entry in the array services configuration file. The ffffllllaaaaggggssss
member contains flags describing certain details about the command
results. It may contain zero or more of the following values OR-ed